[INFO] cloning repository https://github.com/acartine/knots
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/acartine/knots" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 167e2bee34c95eb6654bcd1ac80e40b7f11cef4e
[INFO] testing acartine/knots against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/acartine/knots
[INFO] finished tweaking git repo https://github.com/acartine/knots
[INFO] tweaked toml for git repo https://github.com/acartine/knots written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/acartine/knots on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/acartine/knots already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5ba54631e9b9f4d203ecb81efb686dd6d0c676382577a041ad62029e61687982
[INFO] running `Command { std: "docker" "start" "-a" "5ba54631e9b9f4d203ecb81efb686dd6d0c676382577a041ad62029e61687982", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ba54631e9b9f4d203ecb81efb686dd6d0c676382577a041ad62029e61687982", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ba54631e9b9f4d203ecb81efb686dd6d0c676382577a041ad62029e61687982", kill_on_drop: false }`
[INFO] [stdout] 5ba54631e9b9f4d203ecb81efb686dd6d0c676382577a041ad62029e61687982
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74e3b000c4fa6453d876eb5b72e968cb32267c31c7279793bed14015bae179be
[INFO] running `Command { std: "docker" "start" "-a" "74e3b000c4fa6453d876eb5b72e968cb32267c31c7279793bed14015bae179be", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling knots v0.10.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.79s
[INFO] running `Command { std: "docker" "inspect" "74e3b000c4fa6453d876eb5b72e968cb32267c31c7279793bed14015bae179be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74e3b000c4fa6453d876eb5b72e968cb32267c31c7279793bed14015bae179be", kill_on_drop: false }`
[INFO] [stdout] 74e3b000c4fa6453d876eb5b72e968cb32267c31c7279793bed14015bae179be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 958fb85adb945b7b81985ba751df6162d511b55a73666df96c81b665b36217b3
[INFO] running `Command { std: "docker" "start" "-a" "958fb85adb945b7b81985ba751df6162d511b55a73666df96c81b665b36217b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling knots v0.10.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.44s
[INFO] running `Command { std: "docker" "inspect" "958fb85adb945b7b81985ba751df6162d511b55a73666df96c81b665b36217b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "958fb85adb945b7b81985ba751df6162d511b55a73666df96c81b665b36217b3", kill_on_drop: false }`
[INFO] [stdout] 958fb85adb945b7b81985ba751df6162d511b55a73666df96c81b665b36217b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 73550b524ffd26279e0d843b161d850df7ac211cb536e0bdbd5a189e5f25f5fc
[INFO] running `Command { std: "docker" "start" "-a" "73550b524ffd26279e0d843b161d850df7ac211cb536e0bdbd5a189e5f25f5fc", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/knots-43bf90f54c3f7ec6)
[INFO] [stdout] running 709 tests
[INFO] [stdout] test app::tests::rehydrate_builds_hot_record_from_warm_and_full_events ... ok
[INFO] [stdout] test app::tests::update_knot_requires_at_least_one_change ... ok
[INFO] [stdout] test app::tests::unknown_workflow_is_rejected ... ok
[INFO] [stdout] test app::tests::partial_alias_unknown_prefix_returns_passthrough ... ok
[INFO] [stdout] test app::tests::stripped_id_collisions_return_ambiguous_error ... ok
[INFO] [stdout] test app::tests::create_knot_uses_default_profile_initial_state_when_state_is_omitted ... ok
[INFO] [stdout] test app::tests::set_state_enforces_transition_rules_unless_forced ... ok
[INFO] [stdout] test app::tests_coverage_ext::app_error_source_covers_wrapped_error_variants ... ok
[INFO] [stdout] test app::tests::create_knot_updates_cache_and_writes_events ... ok
[INFO] [stdout] test app::tests::update_knot_rejects_stale_if_match ... ok
[INFO] [stdout] test app::tests::hierarchical_aliases_are_assigned_and_resolve_to_ids ... ok
[INFO] [stdout] test app::tests::update_knot_applies_parity_fields_and_metadata_arrays ... ok
[INFO] [stdout] test app::tests_coverage_ext::cold_search_maps_cold_catalog_fields ... ok
[INFO] [stdout] test app::tests::partial_alias_invalid_child_index_returns_not_found ... ok
[INFO] [stdout] test app::tests::update_knot_can_remove_and_clear_invariants ... ok
[INFO] [stdout] test app::tests::edge_commands_update_cache_and_round_trip ... ok
[INFO] [stdout] test app::tests_coverage_ext::add_edge_rejects_blank_arguments ... ok
[INFO] [stdout] test app::tests::partial_hierarchical_alias_resolves_to_child ... ok
[INFO] [stdout] test app::tests_acceptance_ext::json_shape_acceptance_null_after_clear ... ok
[INFO] [stdout] test app::tests_acceptance_ext::create_and_update_round_trip_acceptance ... ok
[INFO] [stdout] test app::tests_acceptance_ext::rehydrate_restores_acceptance_from_events ... ok
[INFO] [stdout] test app::tests_acceptance_ext::json_shape_acceptance_null_when_unset ... ok
[INFO] [stdout] test app::tests_error_paths::app_error_display_source_and_from_conversions_cover_variants ... ok
[INFO] [stdout] test app::tests_error_paths::apply_rehydrate_event_covers_known_event_types ... ok
[INFO] [stdout] test app::tests_acceptance_ext::json_shape_acceptance_string_when_set ... ok
[INFO] [stdout] test app::tests_error_paths::helper_validations_cover_success_and_error_paths ... ok
[INFO] [stdout] test app::tests_error_paths::open_returns_not_initialized_when_knots_dir_missing ... ok
[INFO] [stdout] test app::tests::stripped_ids_resolve_for_show_state_update_and_edges ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_profile_covers_stale_etag_and_unknown_state_paths ... ok
[INFO] [stdout] test app::tests_error_paths::rehydrate_from_events_reports_missing_workflow_and_invalid_json ... ok
[INFO] [stdout] test app::tests_coverage_ext::default_profile_resolution_covers_config_and_fallback_paths ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_profile_switches_profile_and_state_atomically_and_supports_noop ... ok
[INFO] [stdout] test app::tests_error_paths::open_succeeds_when_knots_dir_exists ... FAILED
[INFO] [stdout] test app::tests_error_paths::open_with_custom_db_path_skips_init_check ... ok
[INFO] [stdout] test app::tests_deferred_sync::trigger_queued_sync_noop_when_not_pending ... ok
[INFO] [stdout] test app::tests_error_paths::default_quick_profile_id_falls_back_to_skipped_planning_profile ... ok
[INFO] [stdout] test app::tests_deferred_sync::trigger_queued_sync_best_effort_on_failure ... ok
[INFO] [stdout] test app::tests_coverage_ext::update_knot_covers_title_priority_and_tag_normalization_branches ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_with_if_match_writes_preconditions ... ok
[INFO] [stdout] test app::tests_coverage_ext::update_knot_state_change_writes_actor_metadata ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_actor_validation_and_deferred_resume_rules ... ok
[INFO] [stdout] test app::tests_coverage_ext::evaluate_gate_failure_reopens_linked_knots_and_adds_metadata ... ok
[INFO] [stdout] test app::tests_deferred_sync::trigger_queued_sync_skips_when_leases_active ... ok
[INFO] [stdout] test app::tests_gate_ext::evaluate_gate_rejects_non_gate_and_wrong_state ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_with_actor_records_actor_and_deferred_provenance ... ok
[INFO] [stdout] test app::tests_gate_ext::evaluate_gate_no_covers_missing_invariant_and_failure_mode_errors ... ok
[INFO] [stdout] test app::tests_gate_ext::evaluate_gate_yes_ships_without_reopening ... ok
[INFO] [stdout] test app::tests_deferred_sync::trigger_queued_sync_not_triggered_with_remaining_leases ... ok
[INFO] [stdout] test app::tests_gate_ext::gate_metadata_updates_round_trip_and_work_knots_reject_them ... ok
[INFO] [stdout] test app::tests_hierarchy::deferred_child_blocks_using_deferred_from_state_progress ... ok
[INFO] [stdout] test app::tests_gate_ext::evaluate_gate_no_skips_transition_for_already_ready_target ... ok
[INFO] [stdout] test app::tests_hierarchy::parent_cannot_advance_past_direct_child_state ... ok
[INFO] [stdout] test app::tests_gate_ext::evaluate_gate_no_reopens_targets_and_appends_metadata ... ok
[INFO] [stdout] test app::tests_hierarchy::deferred_descendant_is_cascaded_in_terminal_transition ... ok
[INFO] [stdout] test app::tests_step_history::claim_creates_step_record_with_agent_metadata ... ok
[INFO] [stdout] test app::tests_hierarchy::terminal_transition_requires_approval_when_descendants_exist ... ok
[INFO] [stdout] test app::tests_step_history::show_json_includes_empty_step_history_field ... ok
[INFO] [stdout] test cli::lease_tests::claim_with_lease_flag ... ok
[INFO] [stdout] test cli::lease_tests::lease_create_manual_type ... ok
[INFO] [stdout] test cli::lease_tests::lease_create_parses_all_agent_fields ... ok
[INFO] [stdout] test cli::lease_tests::lease_create_parses_json_flag ... ok
[INFO] [stdout] test app::tests_hierarchy::update_knot_terminal_cascade_with_approval_succeeds ... ok
[INFO] [stdout] test cli::lease_tests::lease_create_parses_with_nickname ... ok
[INFO] [stdout] test cli::lease_tests::lease_create_parses_json_short_flag ... ok
[INFO] [stdout] test cli::lease_tests::lease_list_alias_ls ... ok
[INFO] [stdout] test cli::lease_tests::lease_list_defaults_to_active_only ... ok
[INFO] [stdout] test cli::lease_tests::lease_list_parses_all_and_json_flags ... ok
[INFO] [stdout] test cli::lease_tests::lease_show_parses_json_flag ... ok
[INFO] [stdout] test cli::lease_tests::lease_terminate_parses_id ... ok
[INFO] [stdout] test cli::lease_tests::lease_show_parses_id ... ok
[INFO] [stdout] test cli::lease_tests::new_parses_lease_flag ... ok
[INFO] [stdout] test cli::lease_tests::update_parses_lease_flag ... ok
[INFO] [stdout] test cli::tests::claim_peek_flag_parses ... ok
[INFO] [stdout] test cli::tests::claim_without_peek_defaults_false ... ok
[INFO] [stdout] test cli::tests::completions_install_flag_parses ... ok
[INFO] [stdout] test cli::tests::completions_parses_with_shell ... ok
[INFO] [stdout] test cli::tests::create_alias_parses_as_new ... ok
[INFO] [stdout] test cli::tests::doctor_fix_flag_parses ... ok
[INFO] [stdout] test cli::tests::doctor_json_flag_parses ... ok
[INFO] [stdout] test cli::tests::loom_compat_test_parses ... ok
[INFO] [stdout] test cli::tests::loom_help_mentions_compat_test ... ok
[INFO] [stdout] test cli::tests::new_acceptance_flag_parses ... ok
[INFO] [stdout] test cli::tests::new_desc_flag_parses ... ok
[INFO] [stdout] test cli::tests::new_fast_flag_parses ... ok
[INFO] [stdout] test app::tests_hierarchy::reconcile_terminal_parent_state_updates_only_parent ... ok
[INFO] [stdout] test cli::tests::new_short_d_flag_parses ... ok
[INFO] [stdout] test cli::tests::next_help_uses_current_state_value_name ... ok
[INFO] [stdout] test cli::tests::next_parses ... ok
[INFO] [stdout] test cli::tests::next_parses_actor_metadata_flags ... ok
[INFO] [stdout] test cli::lease_tests::next_with_lease_flag ... ok
[INFO] [stdout] test app::tests_hierarchy::approved_terminal_cascade_updates_descendants_and_marks_events ... ok
[INFO] [stdout] test cli::tests::next_parses_expected_state_flag ... ok
[INFO] [stdout] test cli::tests::next_parses_json_flag ... ok
[INFO] [stdout] test cli::tests::next_parses_json_short_flag ... ok
[INFO] [stdout] test cli::tests::profile_set_default_quick_parses ... ok
[INFO] [stdout] test cli::tests::profile_show_parses_with_id ... ok
[INFO] [stdout] test cli::tests::profile_list_parses ... ok
[INFO] [stdout] test cli::tests::q_command_parses ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_json_flag ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_type ... ok
[INFO] [stdout] test cli::tests::ready_parses_without_type ... ok
[INFO] [stdout] test cli::tests::rollback_alias_parses ... ok
[INFO] [stdout] test cli::tests::rollback_parses ... ok
[INFO] [stdout] test app::tests_hierarchy::only_behind_children_appear_as_blockers ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_type_and_json ... ok
[INFO] [stdout] test cli::tests::skill_parses ... ok
[INFO] [stdout] test cli::tests::update_acceptance_flag_parses ... ok
[INFO] [stdout] test cli::tests::rollback_parses_actor_metadata_flags ... ok
[INFO] [stdout] test cli::tests::update_add_invariant_repeatable ... ok
[INFO] [stdout] test cli::tests::update_clear_invariants_alone ... ok
[INFO] [stdout] test cli::tests::update_defaults_no_invariant_flags ... ok
[INFO] [stdout] test cli_help::tests::common_commands_list_is_sorted ... ok
[INFO] [stdout] test cli_help::tests::paint_no_color ... ok
[INFO] [stdout] test cli_help::tests::print_cmd_row_formats_name_and_about ... ok
[INFO] [stdout] test cli::tests::update_remove_invariant_repeatable ... ok
[INFO] [stdout] test cli_help::tests::toplevel_help_detection ... ok
[INFO] [stdout] test cli_help::tests::toplevel_help_ignores_global_flags ... ok
[INFO] [stdout] test cli_skills::tests::skills_install_parses ... ok
[INFO] [stdout] test cli_help::tests::paint_with_color ... ok
[INFO] [stdout] test cli_workflow::tests::workflow_install_parses ... ok
[INFO] [stdout] test completions::tests::completions_install_path_for_known_shells ... ok
[INFO] [stdout] test completions::tests::completions_install_path_returns_none_for_unsupported_shell ... ok
[INFO] [stdout] test cli_help::tests::print_custom_help_does_not_panic ... ok
[INFO] [stdout] test cli::tests::update_parses_invariant_flags ... ok
[INFO] [stdout] test completions::tests::group_zsh_noop_when_function_not_found ... ok
[INFO] [stdout] test completions::tests::parse_shell_is_case_insensitive ... ok
[INFO] [stdout] _kno() {
[INFO] [stdout]     local i cur prev opts cmd
[INFO] [stdout]     COMPREPLY=()
[INFO] [stdout]     if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
[INFO] [stdout]         cur="$2"
[INFO] [stdout]     else
[INFO] [stdout]         cur="${COMP_WORDS[COMP_CWORD]}"
[INFO] [stdout]     fi
[INFO] [stdout]     prev="$3"
[INFO] [stdout]     cmd=""
[INFO] [stdout]     opts=""
[INFO] [stdout] 
[INFO] [stdout]     for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
[INFO] [stdout]     do
[INFO] [stdout]         case "${cmd},${i}" in
[INFO] [stdout]             ",$1")
[INFO] [stdout]                 cmd="kno"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,claim)
[INFO] [stdout]                 cmd="kno__claim"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,cold)
[INFO] [stdout]                 cmd="kno__cold"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,compact)
[INFO] [stdout]                 cmd="kno__compact"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,completions)
[INFO] [stdout]                 cmd="kno__completions"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,doctor)
[INFO] [stdout]                 cmd="kno__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,edge)
[INFO] [stdout]                 cmd="kno__edge"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,fsck)
[INFO] [stdout]                 cmd="kno__fsck"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,gate)
[INFO] [stdout]                 cmd="kno__gate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,help)
[INFO] [stdout]                 cmd="kno__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,hooks)
[INFO] [stdout]                 cmd="kno__hooks"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,init)
[INFO] [stdout]                 cmd="kno__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,init-remote)
[INFO] [stdout]                 cmd="kno__init__remote"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,lease)
[INFO] [stdout]                 cmd="kno__lease"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,loom)
[INFO] [stdout]                 cmd="kno__loom"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,ls)
[INFO] [stdout]                 cmd="kno__ls"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,new)
[INFO] [stdout]                 cmd="kno__new"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,next)
[INFO] [stdout]                 cmd="kno__next"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,perf)
[INFO] [stdout]                 cmd="kno__perf"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,poll)
[INFO] [stdout]                 cmd="kno__poll"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,profile)
[INFO] [stdout]                 cmd="kno__profile"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,pull)
[INFO] [stdout]                 cmd="kno__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,push)
[INFO] [stdout]                 cmd="kno__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,q)
[INFO] [stdout]                 cmd="kno__q"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,ready)
[INFO] [stdout]                 cmd="kno__ready"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,rehydrate)
[INFO] [stdout]                 cmd="kno__rehydrate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,rollback)
[INFO] [stdout]                 cmd="kno__rollback"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,show)
[INFO] [stdout]                 cmd="kno__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,skill)
[INFO] [stdout]                 cmd="kno__skill"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,skills)
[INFO] [stdout]                 cmd="kno__skills"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,state)
[INFO] [stdout]                 cmd="kno__state"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,step)
[INFO] [stdout]                 cmd="kno__step"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,sync)
[INFO] [stdout]                 cmd="kno__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,uninit)
[INFO] [stdout]                 cmd="kno__uninit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,uninstall)
[INFO] [stdout]                 cmd="kno__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,update)
[INFO] [stdout]                 cmd="kno__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,upgrade)
[INFO] [stdout]                 cmd="kno__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,workflow)
[INFO] [stdout]                 cmd="kno__workflow"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,help)
[INFO] [stdout]                 cmd="kno__cold__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,search)
[INFO] [stdout]                 cmd="kno__cold__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,sync)
[INFO] [stdout]                 cmd="kno__cold__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,help)
[INFO] [stdout]                 cmd="kno__cold__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,search)
[INFO] [stdout]                 cmd="kno__cold__help__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,sync)
[INFO] [stdout]                 cmd="kno__cold__help__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,add)
[INFO] [stdout]                 cmd="kno__edge__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,help)
[INFO] [stdout]                 cmd="kno__edge__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,list)
[INFO] [stdout]                 cmd="kno__edge__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,remove)
[INFO] [stdout]                 cmd="kno__edge__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,add)
[INFO] [stdout]                 cmd="kno__edge__help__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,help)
[INFO] [stdout]                 cmd="kno__edge__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,list)
[INFO] [stdout]                 cmd="kno__edge__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,remove)
[INFO] [stdout]                 cmd="kno__edge__help__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__gate,evaluate)
[INFO] [stdout]                 cmd="kno__gate__evaluate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__gate,help)
[INFO] [stdout]                 cmd="kno__gate__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__gate__help,evaluate)
[INFO] [stdout]                 cmd="kno__gate__help__evaluate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__gate__help,help)
[INFO] [stdout]                 cmd="kno__gate__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,claim)
[INFO] [stdout]                 cmd="kno__help__claim"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,cold)
[INFO] [stdout]                 cmd="kno__help__cold"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,compact)
[INFO] [stdout]                 cmd="kno__help__compact"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,completions)
[INFO] [stdout]                 cmd="kno__help__completions"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,doctor)
[INFO] [stdout]                 cmd="kno__help__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,edge)
[INFO] [stdout]                 cmd="kno__help__edge"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,fsck)
[INFO] [stdout]                 cmd="kno__help__fsck"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,gate)
[INFO] [stdout]                 cmd="kno__help__gate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,help)
[INFO] [stdout]                 cmd="kno__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,hooks)
[INFO] [stdout]                 cmd="kno__help__hooks"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,init)
[INFO] [stdout]                 cmd="kno__help__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,init-remote)
[INFO] [stdout]                 cmd="kno__help__init__remote"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,lease)
[INFO] [stdout]                 cmd="kno__help__lease"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,loom)
[INFO] [stdout]                 cmd="kno__help__loom"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,ls)
[INFO] [stdout]                 cmd="kno__help__ls"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,new)
[INFO] [stdout]                 cmd="kno__help__new"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,next)
[INFO] [stdout]                 cmd="kno__help__next"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,perf)
[INFO] [stdout]                 cmd="kno__help__perf"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,poll)
[INFO] [stdout]                 cmd="kno__help__poll"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,profile)
[INFO] [stdout]                 cmd="kno__help__profile"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,pull)
[INFO] [stdout]                 cmd="kno__help__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,push)
[INFO] [stdout]                 cmd="kno__help__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,q)
[INFO] [stdout]                 cmd="kno__help__q"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,ready)
[INFO] [stdout]                 cmd="kno__help__ready"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,rehydrate)
[INFO] [stdout]                 cmd="kno__help__rehydrate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,rollback)
[INFO] [stdout]                 cmd="kno__help__rollback"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,show)
[INFO] [stdout]                 cmd="kno__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,skill)
[INFO] [stdout]                 cmd="kno__help__skill"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,skills)
[INFO] [stdout]                 cmd="kno__help__skills"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,state)
[INFO] [stdout]                 cmd="kno__help__state"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,step)
[INFO] [stdout]                 cmd="kno__help__step"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,sync)
[INFO] [stdout]                 cmd="kno__help__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,uninit)
[INFO] [stdout]                 cmd="kno__help__uninit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,uninstall)
[INFO] [stdout]                 cmd="kno__help__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,update)
[INFO] [stdout]                 cmd="kno__help__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,upgrade)
[INFO] [stdout]                 cmd="kno__help__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,workflow)
[INFO] [stdout]                 cmd="kno__help__workflow"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__cold,search)
[INFO] [stdout]                 cmd="kno__help__cold__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__cold,sync)
[INFO] [stdout]                 cmd="kno__help__cold__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,add)
[INFO] [stdout]                 cmd="kno__help__edge__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,list)
[INFO] [stdout]                 cmd="kno__help__edge__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,remove)
[INFO] [stdout]                 cmd="kno__help__edge__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__gate,evaluate)
[INFO] [stdout]                 cmd="kno__help__gate__evaluate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,install)
[INFO] [stdout]                 cmd="kno__help__hooks__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,status)
[INFO] [stdout]                 cmd="kno__help__hooks__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,uninstall)
[INFO] [stdout]                 cmd="kno__help__hooks__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__lease,create)
[INFO] [stdout]                 cmd="kno__help__lease__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__lease,list)
[INFO] [stdout]                 cmd="kno__help__lease__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__lease,show)
[INFO] [stdout]                 cmd="kno__help__lease__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__lease,terminate)
[INFO] [stdout]                 cmd="kno__help__lease__terminate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__loom,compat-test)
[INFO] [stdout]                 cmd="kno__help__loom__compat__test"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,list)
[INFO] [stdout]                 cmd="kno__help__profile__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set)
[INFO] [stdout]                 cmd="kno__help__profile__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set-default)
[INFO] [stdout]                 cmd="kno__help__profile__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set-default-quick)
[INFO] [stdout]                 cmd="kno__help__profile__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,show)
[INFO] [stdout]                 cmd="kno__help__profile__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__skills,install)
[INFO] [stdout]                 cmd="kno__help__skills__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__skills,uninstall)
[INFO] [stdout]                 cmd="kno__help__skills__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__skills,update)
[INFO] [stdout]                 cmd="kno__help__skills__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__step,annotate)
[INFO] [stdout]                 cmd="kno__help__step__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__workflow,current)
[INFO] [stdout]                 cmd="kno__help__workflow__current"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__workflow,install)
[INFO] [stdout]                 cmd="kno__help__workflow__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__workflow,list)
[INFO] [stdout]                 cmd="kno__help__workflow__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__workflow,show)
[INFO] [stdout]                 cmd="kno__help__workflow__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__workflow,use)
[INFO] [stdout]                 cmd="kno__help__workflow__use"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,help)
[INFO] [stdout]                 cmd="kno__hooks__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,install)
[INFO] [stdout]                 cmd="kno__hooks__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,status)
[INFO] [stdout]                 cmd="kno__hooks__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,uninstall)
[INFO] [stdout]                 cmd="kno__hooks__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,help)
[INFO] [stdout]                 cmd="kno__hooks__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,install)
[INFO] [stdout]                 cmd="kno__hooks__help__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,status)
[INFO] [stdout]                 cmd="kno__hooks__help__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,uninstall)
[INFO] [stdout]                 cmd="kno__hooks__help__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease,create)
[INFO] [stdout]                 cmd="kno__lease__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease,help)
[INFO] [stdout]                 cmd="kno__lease__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease,list)
[INFO] [stdout]                 cmd="kno__lease__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease,show)
[INFO] [stdout]                 cmd="kno__lease__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease,terminate)
[INFO] [stdout]                 cmd="kno__lease__terminate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease__help,create)
[INFO] [stdout]                 cmd="kno__lease__help__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease__help,help)
[INFO] [stdout]                 cmd="kno__lease__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease__help,list)
[INFO] [stdout]                 cmd="kno__lease__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease__help,show)
[INFO] [stdout]                 cmd="kno__lease__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__lease__help,terminate)
[INFO] [stdout]                 cmd="kno__lease__help__terminate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__loom,compat-test)
[INFO] [stdout]                 cmd="kno__loom__compat__test"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__loom,help)
[INFO] [stdout]                 cmd="kno__loom__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__loom__help,compat-test)
[INFO] [stdout]                 cmd="kno__loom__help__compat__test"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__loom__help,help)
[INFO] [stdout]                 cmd="kno__loom__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,help)
[INFO] [stdout]                 cmd="kno__profile__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,list)
[INFO] [stdout]                 cmd="kno__profile__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set)
[INFO] [stdout]                 cmd="kno__profile__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set-default)
[INFO] [stdout]                 cmd="kno__profile__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set-default-quick)
[INFO] [stdout]                 cmd="kno__profile__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,show)
[INFO] [stdout]                 cmd="kno__profile__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,help)
[INFO] [stdout]                 cmd="kno__profile__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,list)
[INFO] [stdout]                 cmd="kno__profile__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set)
[INFO] [stdout]                 cmd="kno__profile__help__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set-default)
[INFO] [stdout]                 cmd="kno__profile__help__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set-default-quick)
[INFO] [stdout]                 cmd="kno__profile__help__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,show)
[INFO] [stdout]                 cmd="kno__profile__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills,help)
[INFO] [stdout]                 cmd="kno__skills__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills,install)
[INFO] [stdout]                 cmd="kno__skills__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills,uninstall)
[INFO] [stdout]                 cmd="kno__skills__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills,update)
[INFO] [stdout]                 cmd="kno__skills__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills__help,help)
[INFO] [stdout]                 cmd="kno__skills__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills__help,install)
[INFO] [stdout]                 cmd="kno__skills__help__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills__help,uninstall)
[INFO] [stdout]                 cmd="kno__skills__help__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__skills__help,update)
[INFO] [stdout]                 cmd="kno__skills__help__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step,annotate)
[INFO] [stdout]                 cmd="kno__step__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step,help)
[INFO] [stdout]                 cmd="kno__step__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step__help,annotate)
[INFO] [stdout]                 cmd="kno__step__help__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step__help,help)
[INFO] [stdout]                 cmd="kno__step__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,current)
[INFO] [stdout]                 cmd="kno__workflow__current"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,help)
[INFO] [stdout]                 cmd="kno__workflow__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,install)
[INFO] [stdout]                 cmd="kno__workflow__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,list)
[INFO] [stdout]                 cmd="kno__workflow__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,show)
[INFO] [stdout]                 cmd="kno__workflow__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow,use)
[INFO] [stdout]                 cmd="kno__workflow__use"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,current)
[INFO] [stdout]                 cmd="kno__workflow__help__current"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,help)
[INFO] [stdout]                 cmd="kno__workflow__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,install)
[INFO] [stdout]                 cmd="kno__workflow__help__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,list)
[INFO] [stdout]                 cmd="kno__workflow__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,show)
[INFO] [stdout]                 cmd="kno__workflow__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__workflow__help,use)
[INFO] [stdout]                 cmd="kno__workflow__help__use"
[INFO] [stdout]                 ;;
[INFO] [stdout]             *)
[INFO] [stdout]                 ;;
[INFO] [stdout]         esac
[INFO] [stdout]     done
[INFO] [stdout] 
[INFO] [stdout]     case "${cmd}" in
[INFO] [stdout]         kno)
[INFO] [stdout]             opts="-d -C -h -V --db --repo-root --help --version new state update upgrade uninstall ls show profile workflow loom pull push sync init uninit init-remote fsck doctor perf compact cold rehydrate edge gate next rollback skill skills q completions poll claim ready step lease hooks help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --db)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --repo-root)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -C)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__claim)
[INFO] [stdout]             opts="-j -v -h --json --agent-name --agent-model --agent-version --peek --verbose --lease --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --lease)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold)
[INFO] [stdout]             opts="-h --help sync search help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help)
[INFO] [stdout]             opts="sync search help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__search)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__search)
[INFO] [stdout]             opts="-j -h --json --help <TERM>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__sync)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__compact)
[INFO] [stdout]             opts="-w -j -h --write-snapshots --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__completions)
[INFO] [stdout]             opts="-i -h --install --help [SHELL]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__doctor)
[INFO] [stdout]             opts="-j -h --json --fix --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge)
[INFO] [stdout]             opts="-h --help add remove list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__add)
[INFO] [stdout]             opts="-h --help <SRC> <KIND> <DST>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help)
[INFO] [stdout]             opts="add remove list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__add)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__remove)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__list)
[INFO] [stdout]             opts="-d -j -h --direction --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --direction)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__remove)
[INFO] [stdout]             opts="-h --help <SRC> <KIND> <DST>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__fsck)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__gate)
[INFO] [stdout]             opts="-h --help evaluate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__gate__evaluate)
[INFO] [stdout]             opts="-j -h --decision --invariant --json --actor-kind --agent-name --agent-model --agent-version --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --decision)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --invariant)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__gate__help)
[INFO] [stdout]             opts="evaluate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__gate__help__evaluate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__gate__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help)
[INFO] [stdout]             opts="new state update upgrade uninstall ls show profile workflow loom pull push sync init uninit init-remote fsck doctor perf compact cold rehydrate edge gate next rollback skill skills q completions poll claim ready step lease hooks help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__claim)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold)
[INFO] [stdout]             opts="sync search"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold__search)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__compact)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__completions)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__doctor)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge)
[INFO] [stdout]             opts="add remove list"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__add)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__remove)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__fsck)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__gate)
[INFO] [stdout]             opts="evaluate"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__gate__evaluate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks)
[INFO] [stdout]             opts="install uninstall status"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__init)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__init__remote)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__lease)
[INFO] [stdout]             opts="create show terminate list"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__lease__create)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__lease__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__lease__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__lease__terminate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__loom)
[INFO] [stdout]             opts="compat-test"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__loom__compat__test)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__ls)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__new)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__next)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__perf)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__poll)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile)
[INFO] [stdout]             opts="list show set-default set-default-quick set"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set__default)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set__default__quick)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__q)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__ready)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__rehydrate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__rollback)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skill)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skills)
[INFO] [stdout]             opts="install uninstall update"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skills__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skills__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skills__update)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__state)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__step)
[INFO] [stdout]             opts="annotate"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__step__annotate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__uninit)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__update)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__upgrade)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow)
[INFO] [stdout]             opts="list show install use current"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow__current)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__workflow__use)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks)
[INFO] [stdout]             opts="-h --help install uninstall status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help)
[INFO] [stdout]             opts="install uninstall status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__install)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__status)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__uninstall)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__init)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__init__remote)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease)
[INFO] [stdout]             opts="-h --help create show terminate list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__create)
[INFO] [stdout]             opts="-j -h --nickname --type --agent-type --provider --agent-name --model --model-version --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --nickname)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --provider)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --model-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help)
[INFO] [stdout]             opts="create show terminate list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help__create)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__help__terminate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__list)
[INFO] [stdout]             opts="-a -j -h --all --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__show)
[INFO] [stdout]             opts="-j -h --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__lease__terminate)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__loom)
[INFO] [stdout]             opts="-h --help compat-test help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__loom__compat__test)
[INFO] [stdout]             opts="-j -h --mode --keep-artifacts --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --mode)
[INFO] [stdout]                     COMPREPLY=($(compgen -W "smoke matrix" -- "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__loom__help)
[INFO] [stdout]             opts="compat-test help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__loom__help__compat__test)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__loom__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__ls)
[INFO] [stdout]             opts="-a -j -s -t -p -g -q -h --all --json --state --type --profile --tag --query --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -t)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --profile)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -g)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --query)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -q)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__new)
[INFO] [stdout]             opts="-d -s -p -k -f -h --desc --acceptance --state --profile --type --gate-owner-kind --gate-failure-mode --fast --lease --help <TITLE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --desc)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --acceptance)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --profile)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -k)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --gate-owner-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --gate-failure-mode)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --lease)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__next)
[INFO] [stdout]             opts="-j -h --expected-state --json --actor-kind --agent-name --agent-model --agent-version --cascade-terminal-descendants --lease --help <ID> [currentState]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --expected-state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --lease)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__perf)
[INFO] [stdout]             opts="-j -n -S -h --json --iterations --strict --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --iterations)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -n)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__poll)
[INFO] [stdout]             opts="-o -j -h --owner --claim --json --agent-name --agent-model --agent-version --help [STAGE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --owner)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -o)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile)
[INFO] [stdout]             opts="-h --help list show set-default set-default-quick set help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help)
[INFO] [stdout]             opts="list show set-default set-default-quick set help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set__default)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set__default__quick)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__list)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set)
[INFO] [stdout]             opts="-s -m -h --state --if-match --help <ID> <PROFILE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set__default)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set__default__quick)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__show)
[INFO] [stdout]             opts="-j -h --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__pull)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__push)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__q)
[INFO] [stdout]             opts="-d -s -h --desc --state --help <TITLE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --desc)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__ready)
[INFO] [stdout]             opts="-j -h --json --help [READY_TYPE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__rehydrate)
[INFO] [stdout]             opts="-j -h --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__rollback)
[INFO] [stdout]             opts="-h --dry-run --actor-kind --agent-name --agent-model --agent-version --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__show)
[INFO] [stdout]             opts="-j -v -h --json --verbose --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skill)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills)
[INFO] [stdout]             opts="-h --help install uninstall update help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__help)
[INFO] [stdout]             opts="install uninstall update help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__help__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__help__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__help__update)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__install)
[INFO] [stdout]             opts="-h --help codex claude opencode"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__uninstall)
[INFO] [stdout]             opts="-h --help codex claude opencode"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skills__update)
[INFO] [stdout]             opts="-h --help codex claude opencode"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__state)
[INFO] [stdout]             opts="-f -m -h --force --cascade-terminal-descendants --if-match --actor-kind --agent-name --agent-model --agent-version --help <ID> <STATE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step)
[INFO] [stdout]             opts="-h --help annotate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__annotate)
[INFO] [stdout]             opts="-j -h --agent-name --agent-model --agent-version --actor-kind --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help)
[INFO] [stdout]             opts="annotate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help__annotate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__sync)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__uninit)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__uninstall)
[INFO] [stdout]             opts="-b -p -h --bin-path --remove-previous --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --bin-path)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -b)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__update)
[INFO] [stdout]             opts="-t -d -p -s -k -a -r -n -H -m -f -h --title --description --acceptance --priority --status --type --add-tag --remove-tag --add-invariant --remove-invariant --clear-invariants --gate-owner-kind --gate-failure-mode --clear-gate-failure-modes --add-note --note-username --note-datetime --note-agentname --note-model --note-version --add-handoff-capsule --handoff-username --handoff-datetime --handoff-agentname --handoff-model --handoff-version --if-match --actor-kind --agent-name --agent-model --agent-version --force --cascade-terminal-descendants --lease --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --title)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -t)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --description)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --acceptance)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --priority)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --status)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -k)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -a)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --remove-tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -r)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-invariant)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --remove-invariant)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --gate-owner-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --gate-failure-mode)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-note)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -n)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-username)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-datetime)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-agentname)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-handoff-capsule)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -H)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-username)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-datetime)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-agentname)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --lease)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__upgrade)
[INFO] [stdout]             opts="-v -r -i -u -h --version --repo --install-dir --script-url --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -v)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --repo)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -r)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --install-dir)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -i)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --script-url)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -u)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow)
[INFO] [stdout]             opts="-h --help list show install use current help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__current)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help)
[INFO] [stdout]             opts="list show install use current help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__current)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__help__use)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__install)
[INFO] [stdout]             opts="-h --help <SOURCE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__list)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__show)
[INFO] [stdout]             opts="-v -j -h --version --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -v)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__workflow__use)
[INFO] [stdout]             opts="-v -p -h --version --profile --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -v)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --profile)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]     esac
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
[INFO] [stdout]     complete -F _kno -o nosort -o bashdefault -o default kno
[INFO] [stdout] else
[INFO] [stdout]     complete -F _kno -o bashdefault -o default kno
[INFO] [stdout] fi
[INFO] [stdout] test cli::tests::update_help_includes_invariant_flags ... ok
[INFO] [stdout] test cli_skills::tests::skills_update_parses_opencode ... ok
[INFO] [stdout] test app::tests_hierarchy_auto_resolve::cascade_terminal_transition_resolves_other_parent_of_descendant ... ok
[INFO] [stdout] test completions::tests::generate_completions_produces_non_empty_output ... ok
[INFO] [stdout] test app::tests_step_history::show_json_returns_step_history_field ... ok
[INFO] [stdout] test completions::tests::shell_from_path_parses_known_shells ... ok
[INFO] [stdout] test completions::tests::run_completions_command_print_and_error_modes ... FAILED
[INFO] [stdout] test app::tests_step_history::repeated_action_review_cycles_produce_multiple_records ... ok
[INFO] [stdout] test completions::tests::zsh_commands_are_sorted_alphabetically ... ok
[INFO] [stdout] test completions::tests::zsh_completions_are_flat_and_unstyled ... ok
[INFO] [stdout] test app::tests_step_history::step_annotate_changes_agent_on_active_step ... ok
[INFO] [stdout] test app::tests_step_history::next_finalizes_active_step_record ... ok
[INFO] [stdout] test app::tests_step_history::step_annotate_fails_when_no_active_step ... ok
[INFO] [stdout] test db::tests::configures_connection_pragmas ... ok
[INFO] [stdout] test app::tests_step_history::step_history_persists_across_show_calls ... ok
[INFO] [stdout] test app::tests_hierarchy::recursive_cascade_reaches_great_grandchildren ... ok
[INFO] [stdout] test dispatch::tests::owner_kind_label_covers_human_and_agent ... ok
[INFO] [stdout] test doctor::tests::build_version_check_passes_when_up_to_date ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_on_unparseable_remote ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_when_fetch_fails ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_when_outdated ... ok
[INFO] [stdout] test doctor::tests::check_version_passes_when_upgrade_applied_in_process ... ok
[INFO] [stdout] test db::tests::count_active_leases_returns_count ... ok
[INFO] [stdout] test doctor::tests::is_outdated_compares_semver_parts ... ok
[INFO] [stdout] test doctor::tests::is_outdated_returns_none_for_invalid_versions ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_extracts_tag_from_redirect ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_handles_lowercase_header ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_returns_none_when_missing ... ok
[INFO] [stdout] test app::tests_hierarchy_auto_resolve::update_terminal_transition_resolves_parent_when_last_child_finishes ... ok
[INFO] [stdout] test db::tests::reads_pull_drift_warn_threshold_from_meta ... ok
[INFO] [stdout] test doctor::tests::strip_v_prefix_removes_leading_v ... ok
[INFO] [stdout] test db::tests::reads_optional_fetch_blob_limit_from_meta ... ok
[INFO] [stdout] test db::tests::initializes_required_tables_and_schema_version ... ok
[INFO] [stdout] test db::tests::get_knot_hot_accepts_legacy_empty_lease_data_json ... ok
[INFO] [stdout] test doctor::tests_ext::doctor_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test doctor::tests::fetch_latest_tag_returns_none_for_unreachable_url ... ok
[INFO] [stdout] test doctor::tests_ext::check_version_returns_valid_doctor_check ... ok
[INFO] [stdout] test doctor::tests::reports_failure_for_non_git_directory ... ok
[INFO] [stdout] test db::tests::reapplies_migrations_idempotently ... ok
[INFO] [stdout] test db::tests::upsert_and_get_knot_hot_round_trips_invariants ... ok
[INFO] [stdout] test db::tests::upsert_knot_hot_with_empty_invariants_round_trips ... ok
[INFO] [stdout] test db::tests::open_connection_stays_readable_when_writer_lock_is_held ... ok
[INFO] [stdout] test db::tests::set_meta_retries_when_database_is_temporarily_locked ... ok
[INFO] [stdout] test doctor::tests_ext::wait_for_lock_release_succeeds_for_unlocked_path ... ok
[INFO] [stdout] test app::tests_terminal_deferred::update_can_abandon_deferred_parent_after_auto_resolution ... ok
[INFO] [stdout] test doctor::tests_ext::check_stuck_leases_passes_when_no_db ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_marks_version_fix_applied_for_version_check ... ok
[INFO] [stderr] fatal: cannot change to '/tmp/knots-doctor-fix-019d2d0a-a4c1-79e0-8cd6-2d417ef7f1df/missing': No such file or directory
[INFO] [stdout] test doctor_fix::tests::apply_fixes_ignores_non_git_repo_and_unknown_checks ... ok
[INFO] [stdout] test db::tests::migrations_add_parity_columns_and_backfill_profile_defaults ... ok
[INFO] [stdout] test app::tests_hierarchy_auto_resolve::set_state_terminal_transition_resolves_parent_chain ... ok
[INFO] [stdout] test doctor_fix::tests::has_non_pass_checks_detects_warn_or_fail ... ok
[INFO] [stdout] test domain::gate::tests::find_reopen_targets_matches_normalized_invariant ... ok
[INFO] [stdout] test domain::gate::tests::find_reopen_targets_returns_none_for_blank_or_missing_invariant ... ok
[INFO] [stdout] test domain::gate::tests::normalize_invariant_key_collapses_whitespace ... ok
[INFO] [stdout] test domain::gate::tests::normalize_invariant_key_rejects_blank_values ... ok
[INFO] [stdout] test domain::gate::tests::owner_kind_defaults_to_agent ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_removes_lock_files ... ok
[INFO] [stdout] test domain::gate::tests::owner_kind_rejects_unknown_values ... ok
[INFO] [stdout] test domain::gate::tests::owner_kind_serializes_and_deserializes_as_string ... ok
[INFO] [stdout] test domain::gate::tests::parse_failure_mode_spec_parses_multiple_targets ... ok
[INFO] [stdout] test domain::gate::tests::parse_failure_mode_spec_requires_separator_and_invariant ... ok
[INFO] [stdout] test domain::gate::tests::parse_failure_mode_spec_requires_targets ... ok
[INFO] [stdout] test domain::invariant::tests::deserialize_accepts_invariant_type_alias ... ok
[INFO] [stdout] test domain::invariant::tests::deserialize_rejects_unknown_invariant_type ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_display_shows_type_and_condition ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_all_contains_both_variants ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_display_matches_as_str ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_error_mentions_allowed_values ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_parses_case_insensitively ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_invalid_type_delegates_display ... ok
[INFO] [stdout] test domain::gate::tests::owner_kind_parses_human_and_agent ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_missing_separator_has_no_source ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_parses_valid_input ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_requires_condition ... ok
[INFO] [stdout] test domain::invariant::tests::serde_round_trip_uses_type_key ... ok
[INFO] [stdout] test domain::invariant::tests::serde_round_trip_vec_of_invariants ... ok
[INFO] [stdout] test domain::knot_type::tests::default_is_work ... ok
[INFO] [stdout] test domain::knot_type::tests::display_uses_as_str ... ok
[INFO] [stdout] test domain::knot_type::tests::empty_string_maps_to_work ... ok
[INFO] [stdout] test domain::knot_type::tests::invalid_value_returns_error ... ok
[INFO] [stdout] test domain::knot_type::tests::legacy_alias_task_maps_to_work ... ok
[INFO] [stdout] test domain::knot_type::tests::parse_knot_type_backward_compat ... ok
[INFO] [stdout] test domain::knot_type::tests::parse_knot_type_error_display ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_requires_separator ... ok
[INFO] [stdout] test domain::knot_type::tests::parse_knot_type_lease ... ok
[INFO] [stdout] test domain::knot_type::tests::parses_gate_type ... ok
[INFO] [stdout] test domain::knot_type::tests::parses_lease_type ... ok
[INFO] [stdout] test domain::knot_type::tests::round_trip_work ... ok
[INFO] [stdout] test domain::knot_type::tests::serde_deserialize_legacy_alias ... ok
[INFO] [stdout] test domain::knot_type::tests::serde_round_trip ... ok
[INFO] [stdout] test domain::knot_type::tests::serde_round_trip_lease ... ok
[INFO] [stdout] test domain::knot_type::tests::whitespace_only_maps_to_work ... ok
[INFO] [stdout] test domain::lease::tests::lease_data_deserializes_legacy_empty_payload ... ok
[INFO] [stdout] test domain::lease::tests::lease_data_serde_round_trip ... ok
[INFO] [stdout] test domain::lease::tests::lease_type_defaults_to_agent ... ok
[INFO] [stdout] test domain::lease::tests::lease_type_display ... ok
[INFO] [stdout] test domain::lease::tests::lease_type_rejects_unknown ... ok
[INFO] [stdout] test domain::lease::tests::lease_type_round_trip ... ok
[INFO] [stdout] test domain::lease::tests::lease_type_serde_round_trip ... ok
[INFO] [stdout] test domain::lease::tests::validate_accepts_manual_lease_without_agent_info ... ok
[INFO] [stdout] test domain::lease::tests::lease_data_default_has_empty_nickname ... ok
[INFO] [stdout] test domain::lease::tests::validate_accepts_valid_agent_lease ... ok
[INFO] [stdout] test domain::lease::tests::validate_rejects_empty_nickname ... ok
[INFO] [stdout] test domain::lease::tests::validate_rejects_agent_without_info ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_parses_valid_rfc3339 ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_empty ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_invalid ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_none ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_whitespace ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_none ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_empty ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_whitespace ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_trimmed_value ... ok
[INFO] [stdout] test domain::state::tests::accepts_common_path_transitions ... ok
[INFO] [stdout] test domain::state::tests::accepts_deferred_and_abandoned_from_all_states ... ok
[INFO] [stdout] test domain::state::tests::allows_unlisted_transition_with_force ... ok
[INFO] [stdout] test domain::state::tests::lease_state_round_trip ... ok
[INFO] [stdout] test domain::state::tests::lease_state_transitions ... ok
[INFO] [stdout] test domain::state::tests::lease_terminated_is_terminal ... ok
[INFO] [stdout] test domain::state::tests::marks_terminal_states_for_tiering ... ok
[INFO] [stdout] test domain::state::tests::parses_implemented_alias ... ok
[INFO] [stdout] test domain::state::tests::parses_lease_states ... ok
[INFO] [stdout] test domain::state::tests::parses_supported_state_names_and_legacy_aliases ... ok
[INFO] [stdout] test domain::state::tests::rejects_unlisted_transition_without_force ... ok
[INFO] [stdout] test domain::step_history::tests::derive_phase_action_vs_review ... ok
[INFO] [stdout] test domain::step_history::tests::new_started_record_has_correct_defaults ... ok
[INFO] [stdout] test domain::step_history::tests::optional_fields_omitted_when_none ... ok
[INFO] [stdout] test domain::step_history::tests::step_record_serialization_roundtrip ... ok
[INFO] [stdout] test domain::step_history::tests::step_status_serializes_as_snake_case ... ok
[INFO] [stdout] test events::tests::acceptance_event_kind_uses_expected_string ... ok
[INFO] [stdout] test events::tests::builds_deterministic_full_event_path ... ok
[INFO] [stdout] test events::tests::builds_deterministic_index_event_path ... ok
[INFO] [stdout] test events::tests::rejects_invalid_file_component ... ok
[INFO] [stdout] test events::tests::writes_append_only_full_event_file ... ok
[INFO] [stdout] test events::tests_ext::event_record_accessors_cover_full_and_index_variants ... ok
[INFO] [stdout] test events::tests_ext::event_write_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test events::tests_ext::full_event_kind_strings_cover_remaining_variants ... ok
[INFO] [stdout] test events::tests_ext::new_event_builders_and_preconditions_set_expected_fields ... ok
[INFO] [stdout] test events::tests_ext::relative_path_rejects_invalid_timestamp_values ... ok
[INFO] [stdout] test events::tests::writes_index_event ... ok
[INFO] [stdout] test fsck::tests::reports_duplicate_event_ids ... ok
[INFO] [stdout] test fsck::tests_ext::fsck_error_display_source_and_from_cover_io_variant ... ok
[INFO] [stdout] test fsck::tests::reports_missing_edge_destination_reference ... ok
[INFO] [stdout] test doctor::tests::reports_busy_lock_as_warning ... ok
[INFO] [stdout] test fsck::tests_ext::reports_schema_and_reference_issues_for_malformed_events ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_for_non_git_directory ... ok
[INFO] [stdout] test doctor::tests_ext::fix_stuck_leases_terminates_active ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_cleans_legacy_and_reinstalls_hooks ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_passes_when_installed ... ok
[INFO] [stdout] test doctor::tests_ext::remote_check_reports_unreachable_origin ... ok
[INFO] [stdout] test git_hooks::tests::hook_template_contains_marker_and_sync ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_on_stale_content ... ok
[INFO] [stdout] test completions::tests::install_completions_with_zshrc_patching ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_on_legacy_hook ... ok
[INFO] [stdout] test git_hooks::tests::cleanup_legacy_hooks_removes_orphaned_hook ... ok
[INFO] [stdout] test git_hooks::tests::install_hooks_creates_managed_hooks ... ok
[INFO] [stdout] test git_hooks::tests::cleanup_legacy_hooks_restores_local ... ok
[INFO] [stdout] test git_hooks::tests::install_hooks_is_idempotent ... ok
[INFO] [stdout] test doctor::tests_ext::check_stuck_leases_warns_when_active ... ok
[INFO] [stdout] test git_hooks::tests::install_hooks_preserves_existing_to_local ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_when_missing ... ok
[INFO] [stdout] test hierarchy_alias::tests::cycle_edges_do_not_cause_infinite_loop ... ok
[INFO] [stdout] test hierarchy_alias::tests::picks_lexicographically_smallest_parent_for_alias_path ... ok
[INFO] [stdout] test hierarchy_alias::tests::assigns_hierarchical_aliases_for_parent_chain ... ok
[INFO] [stdout] test hierarchy_alias::tests::self_edges_and_unknown_ids_are_skipped ... ok
[INFO] [stdout] test git_hooks::tests::resolve_hooks_dir_respects_core_hooks_path ... ok
[INFO] [stdout] test git_hooks::tests::resolve_hooks_dir_defaults_to_git_hooks ... ok
[INFO] [stdout] test git_hooks::tests::uninstall_hooks_noop_when_not_installed ... ok
[INFO] [stdout] test git_hooks::tests::install_preserves_existing_to_backup_when_local_exists ... ok
[INFO] [stdout] test init::tests::init_local_store_is_idempotent_with_gitignore ... ok
[INFO] [stdout] test doctor::tests_ext::hooks_check_warns_when_missing_and_passes_after_install ... ok
[INFO] [stdout] test git_hooks::tests::uninstall_hooks_removes_managed_and_restores_local ... ok
[INFO] [stdout] test init::tests_ext::gitignore_helpers_cover_append_and_noop_removal_paths ... ok
[INFO] [stdout] HEAD is now at ced36a8 init
[INFO] [stdout] test doctor::tests_ext::terminal_parents_check_passes_when_no_parents_need_reconciliation ... ok
[INFO] [stdout] test installed_workflows::tests::build_profile_definition_validates_empty_phase_and_missing_states ... ok
[INFO] [stdout] test installed_workflows::tests::compatibility_workflow_exposes_builtin_prompts_and_profiles ... ok
[INFO] [stdout] test installed_workflows::tests::helper_functions_cover_prompt_rendering_and_utilities ... ok
[INFO] [stdout] HEAD is now at ced36a8 init
[INFO] [stdout] test doctor::tests_ext::version_check_is_present_in_doctor_report ... ok
[INFO] [stdout] test init::tests::uninit_local_store_cleans_local_artifacts_and_gitignore ... ok
[INFO] [stdout] test doctor::tests_ext::terminal_parents_check_warns_when_parent_can_be_resolved ... ok
[INFO] [stdout] test installed_workflows::tests::installed_bundle_path_prefers_json_and_falls_back_to_toml ... ok
[INFO] [stdout] test init::tests::init_local_store_writes_expected_artifacts ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_reconciles_terminal_parents ... ok
[INFO] [stdout] test installed_workflows::tests::json_bundle_round_trips_and_preserves_prompt_routes ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_dispatches_for_both_supported_formats ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_json_validates_profile_references_and_shape ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_toml_rejects_multiple_success_outcomes ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_toml_reports_missing_phase_and_step_references ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_toml_reads_per_action_outputs ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_toml_requires_success_targets_and_honors_owner_overrides ... ok
[INFO] [stdout] test installed_workflows::tests::install_bundle_supports_json_input_without_re_rendering ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_json_rejects_unsupported_metadata ... ok
[INFO] [stdout] test installed_workflows::tests::parses_bundle_and_renders_prompt ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_recreates_non_git_worktree_directory ... ok
[INFO] [stdout] test installed_workflows::tests::install_bundle_writes_repo_local_registry_and_sets_current_selection ... ok
[INFO] [stdout] test installed_workflows::tests::prompt_defaults_cover_param_and_output_injection ... ok
[INFO] [stdout] test git_hooks::tests::hooks_status_reports_installation_state ... ok
[INFO] [stdout] test installed_workflows::tests::read_bundle_source_supports_file_and_directory_inputs ... ok
[INFO] [stdout] test init::tests_ext::run_git_panics_with_stderr_when_command_fails ... ok
[INFO] [stdout] test installed_workflows::tests::repo_config_round_trips_through_disk ... ok
[INFO] [stdout] test installed_workflows::tests::resolve_bundle_source_path_finds_supported_candidates_and_errors_cleanly ... ok
[INFO] [stdout] test installed_workflows::tests::read_bundle_source_reports_loom_failures_and_invalid_utf8 ... ok
[INFO] [stdout] Removing dirty.txt
[INFO] [stdout] test knot_id::tests::display_id_strips_prefix ... ok
[INFO] [stdout] test installed_workflows::tests::set_current_workflow_selection_honors_explicit_profile ... ok
[INFO] [stdout] test installed_workflows::tests::read_bundle_source_can_shell_out_to_loom_for_package_directories ... ok
[INFO] [stdout] test knot_id::tests::generated_ids_follow_repo_short_hash_shape ... ok
[INFO] [stdout] test list_layout::tests::blocked_items_sort_after_actionable_peers ... ok
[INFO] [stdout] test list_layout::tests::nested_epic_footer_depth_increases_by_level ... ok
[INFO] [stdout] test list_layout::tests::handles_cycles_without_infinite_loop ... ok
[INFO] [stdout] test list_layout::tests::renders_children_before_parent_footer ... ok
[INFO] [stdout] test installed_workflows::tests::set_current_workflow_selection_falls_back_to_first_profile_when_default_is_missing ... ok
[INFO] [stdout] test list_layout_tests_ext::different_prefix_sequences_sort_by_prefix ... ok
[INFO] [stdout] test list_layout_tests_ext::blocks_edges_affect_readiness_sorting ... ok
[INFO] [stdout] test init::tests_ext::warn_if_beads_hooks_present_handles_config_without_matching_hook_files ... ok
[INFO] [stdout] test installed_workflows::tests::registry_load_skips_non_version_entries_and_accepts_legacy_toml_bundle ... ok
[INFO] [stdout] test list_layout_tests_ext::layout_knots_returns_empty_for_empty_input ... ok
[INFO] [stdout] test list_layout_tests_ext::priority_tiebreaker_sorts_lower_priority_first ... ok
[INFO] [stdout] test list_layout::tests::sequence_order_is_child_specific_then_parent ... ok
[INFO] [stdout] test installed_workflows::tests::workflow_registry_helpers_cover_lookup_and_sorting_paths ... ok
[INFO] [stdout] test list_layout_tests_ext::malformed_sequence_alias_falls_back_and_terminal_state_sorts_last ... ok
[INFO] [stdout] test list_layout_tests_ext::sequence_nodes_sort_before_non_sequence_nodes ... ok
[INFO] [stdout] test knot_id::tests::slug_fallbacks_to_repo_name_when_git_remote_missing ... ok
[INFO] [stdout] test listing::tests::allows_state_abandoned_explicit ... ok
[INFO] [stdout] test listing::tests::excludes_abandoned_by_default ... ok
[INFO] [stdout] test listing::tests::combines_filters ... ok
[INFO] [stdout] test listing::tests::allows_state_shipped_without_all_flag ... ok
[INFO] [stdout] test listing::tests::filters_by_alias_query ... ok
[INFO] [stdout] test listing::tests::filters_by_multiple_tags ... ok
[INFO] [stdout] test listing::tests::filters_by_query_across_title_and_description ... ok
[INFO] [stdout] test listing::tests::filters_by_state_case_insensitive ... ok
[INFO] [stdout] test listing::tests::filters_by_profile_id ... ok
[INFO] [stdout] test listing::tests::excludes_deferred_by_default ... ok
[INFO] [stdout] test listing::tests::includes_shipped_with_all_flag ... ok
[INFO] [stdout] test listing::tests::excludes_shipped_by_default ... ok
[INFO] [stdout] test listing::tests_ext::filters_by_type_normalizes_legacy_aliases ... ok
[INFO] [stdout] test listing::tests_ext::empty_state_filter_is_treated_as_no_filter ... ok
[INFO] [stdout] test listing::tests::includes_abandoned_and_deferred_with_all_flag ... ok
[INFO] [stdout] test listing::tests_ext::does_not_hide_non_lease_knots ... ok
[INFO] [stdout] test listing::tests_ext::include_all_with_user_filter_includes_terminal_knots ... ok
[INFO] [stdout] test listing::tests_ext::invalid_type_filter_is_ignored ... ok
[INFO] [stdout] test listing::tests_ext::whitespace_only_query_filter_is_treated_as_no_filter ... ok
[INFO] [stdout] test listing::tests_ext::normalize_knot_type_filter_covers_edge_cases ... ok
[INFO] [stdout] test listing::tests_ext::shows_lease_knots_with_type_filter ... ok
[INFO] [stdout] test listing::tests_ext::hides_lease_knots_by_default ... ok
[INFO] [stdout] test locks::tests::dead_process_is_detected ... ok
[INFO] [stdout] test locks::tests::live_process_is_not_reclaimed ... ok
[INFO] [stdout] test list_layout_tests_ext::state_rank_covers_all_named_states ... ok
[INFO] [stdout] test listing::tests::allows_state_deferred_explicit ... ok
[INFO] [stdout] test locks::tests::corrupt_lock_is_reclaimed ... ok
[INFO] [stdout] test locks::tests::zero_pid_is_not_alive ... ok
[INFO] [stdout] test loom_compat_commands::tests::render_progress_uses_status_markers_and_step_labels ... ok
[INFO] [stdout] test locks::tests::reclaim_stale_returns_true_for_missing_file ... ok
[INFO] [stdout] test loom_compat_commands::tests::render_text_includes_workspace_and_steps ... ok
[INFO] [stdout] test loom_compat_commands::tests::render_text_marks_prompt_mismatches_without_workspace ... ok
[INFO] [stdout] test locks::tests::lock_file_contains_pid ... ok
[INFO] [stdout] test locks::tests::stale_lock_is_reclaimed ... ok
[INFO] [stdout] test locks::tests::stale_lock_is_reclaimed_via_try_acquire ... ok
[INFO] [stdout] test locks::tests::try_lock_is_non_blocking ... ok
[INFO] [stdout] test installed_workflows::tests::registry_prefers_latest_version_when_current_selection_has_no_version ... ok
[INFO] [stdout] test doctor::tests_ext::remote_check_warns_when_knots_missing_and_passes_when_present ... ok
[INFO] [stdout] test installed_workflows::tests::set_current_workflow_selection_keeps_builtin_profiles_unscoped ... ok
[INFO] [stdout] test locks::tests::acquire_times_out_when_held ... ok
[INFO] [stdout] test installed_workflows::tests::parse_bundle_toml_reports_invalid_state_kinds_and_prompt_metadata ... ok
[INFO] [stdout] test loom_compat_harness_tests::invalid_argument_helper_formats_non_argument_errors ... ok
[INFO] [stdout] test main_tests::knot_json_serialization_always_includes_step_history_field ... ok
[INFO] [stdout] test main_tests::knot_ref_prefers_alias_when_available ... ok
[INFO] [stdout] test main_tests::maybe_run_self_command_returns_none_for_non_self_commands ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_cleans_worktree_and_creates_remote_branch ... ok
[INFO] [stdout] test main_tests::run_git_panics_with_stderr_when_command_fails ... ok
[INFO] [stdout] test main_tests::maybe_run_self_command_update_and_uninstall_paths_execute ... ok
[INFO] [stdout] test managed_skills::tests::claude_ignores_user_level_root_even_when_home_is_set ... ok
[INFO] [stdout] test managed_skills::tests::doctor_checks_warn_when_roots_are_missing ... ok
[INFO] [stdout] test managed_skills::tests::doctor_fix_installs_missing_skills_when_user_root_is_absent ... ok
[INFO] [stdout] test managed_skills::tests::doctor_fix_reconciles_drifted_skills_for_detected_root ... ok
[INFO] [stdout] test managed_skills::tests::doctor_treats_unreadable_existing_skill_as_drift ... ok
[INFO] [stdout] test managed_skills::tests::doctor_warns_when_preferred_destination_has_drifted_skills ... ok
[INFO] [stdout] test managed_skills::tests::doctor_warns_when_preferred_destination_has_missing_and_drifted_skills ... ok
[INFO] [stdout] test managed_skills::tests::doctor_warns_when_preferred_destination_is_missing_skills ... ok
[INFO] [stdout] test managed_skills::tests::helper_functions_cover_empty_and_missing_paths ... ok
[INFO] [stdout] test managed_skills::tests::install_prefers_project_location_when_supported ... ok
[INFO] [stdout] test managed_skills::tests::install_reports_already_installed_when_nothing_is_missing ... ok
[INFO] [stdout] test managed_skills::tests::locations_detect_supported_roots_for_all_tools ... ok
[INFO] [stdout] test managed_skills::tests::managed_skill_inventory_contains_only_knots_skills ... ok
[INFO] [stdout] test managed_skills::tests::managed_skills_describe_parent_child_workflow ... ok
[INFO] [stdout] test managed_skills::tests::prompt_install_missing_accepts_yes_and_rejects_no ... ok
[INFO] [stdout] test managed_skills::tests::public_environment_based_helpers_use_home_env ... ok
[INFO] [stdout] test main_tests::run_hooks_command_handles_install_status_and_uninstall ... ok
[INFO] [stdout] test managed_skills::tests::skill_tool_helpers_cover_display_and_lookup_paths ... ok
[INFO] [stdout] test init::tests::uninit_all_removes_remote_and_local_store ... ok
[INFO] [stdout] test managed_skills::tests::uninstall_errors_when_no_managed_skills_are_installed ... ok
[INFO] [stdout] test managed_skills::tests::uninstall_removes_installed_skills_from_all_detected_locations ... ok
[INFO] [stdout] test managed_skills::tests::update_only_writes_to_preferred_location_not_user_level ... ok
[INFO] [stdout] test managed_skills::tests::update_requires_install_in_noninteractive_mode_when_skills_are_missing ... ok
[INFO] [stdout] test managed_skills::tests::update_rewrites_existing_skills_when_install_is_complete ... ok
[INFO] [stdout] test perf::tests::over_budget_and_error_helpers_cover_edge_paths ... ok
[INFO] [stdout] test managed_skills::tests::render_skill_uses_hyphenated_deploy_name ... ok
[INFO] [stdout] test init::tests::init_all_bootstraps_local_store_and_remote_branch ... ok
[INFO] [stdout] test poll_claim::tests::completion_command_includes_agent_metadata_flags ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_empty_returns_none ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_lowercases_and_replaces_dashes ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_none_returns_none ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_passes_through_stage ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_strips_prefix ... ok
[INFO] [stdout] test poll_claim::tests::parse_owner_defaults_to_agent ... ok
[INFO] [stdout] test poll_claim::tests::parse_owner_recognizes_human ... ok
[INFO] [stdout] test perf::tests::git_helpers_report_failures ... ok
[INFO] [stdout] test init::tests_ext::init_all_installs_sync_hooks ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_drops_workspace_when_keep_artifacts_is_disabled ... ok
[INFO] [stdout] test poll_claim::tests::peek_knot_completion_command_has_agent_metadata_flags ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_empty_queue_prints_message ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_invalid_bundle_output ... ok
[INFO] [stdout] test poll_claim::tests::peek_rejects_knot_in_action_state ... ok
[INFO] [stdout] test poll_claim::tests::peek_knot_does_not_advance_state ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_json_empty_queue ... ok
[INFO] [stdout] test poll_claim::tests::claim_rejects_knot_in_action_state ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_with_knot_in_queue ... ok
[INFO] [stdout] test poll_claim::tests_gate_ext::peek_and_claim_gate_follow_gate_workflow_states ... ok
[INFO] [stdout] test poll_claim::tests_gate_ext::list_and_poll_gate_candidates_respect_stage_and_owner ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_rejects_lease_knot ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_creates_lease_on_claim ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_with_external_lease_binds_it ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_builtin_source_in_result ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_loom_execution_errors ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_missing_loom ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_with_terminated_lease_rejects ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_without_agent_name_skips_lease_creation ... ok
[INFO] [stdout] test profile::tests::load_for_repo_adds_namespaced_profiles_for_custom_workflow ... ok
[INFO] [stdout] test poll_claim::tests_gate_ext::run_poll_and_claim_cover_json_and_text_rendering_paths ... ok
[INFO] [stdout] test profile::tests::next_happy_path_follows_sequential_states ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_with_nonexistent_lease_rejects ... ok
[INFO] [stdout] test profile::tests::loads_builtin_profiles_and_legacy_aliases ... ok
[INFO] [stdout] test profile::tests::next_happy_path_returns_none_for_terminal ... ok
[INFO] [stdout] test profile::tests::owner_kind_for_state_maps_queue_and_action_states ... ok
[INFO] [stdout] test profile::tests::owner_for_action_state_returns_correct_owner ... ok
[INFO] [stdout] test profile::tests::no_planning_profiles_start_at_ready_for_implementation ... ok
[INFO] [stdout] test profile_commands::tests::profile_helpers_cover_empty_fields_and_enabled_palette_paths ... ok
[INFO] [stdout] test profile_commands::tests::profile_outputs_formats_unique_artifact_types ... ok
[INFO] [stdout] test profile::tests::require_state_and_transition_validation_report_unknown_states ... ok
[INFO] [stdout] test profile_commands::tests::profile_field_formatting_right_aligns_labels ... ok
[INFO] [stdout] test profile_commands::tests::resolve_profile_state_handles_non_interactive_paths ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_with_ready_lease_activates_it ... ok
[INFO] [stdout] test prompt::tests::json_no_other_when_single_entries ... ok
[INFO] [stdout] test prompt::tests::json_non_verbose_includes_other_field ... ok
[INFO] [stdout] test prompt::tests::json_output_has_expected_fields ... ok
[INFO] [stdout] test prompt::tests::json_output_includes_child_summaries ... ok
[INFO] [stdout] test prompt::tests::json_output_includes_invariants ... ok
[INFO] [stdout] test prompt::tests::json_verbose_omits_other_field ... ok
[INFO] [stdout] test prompt::tests::render_children_section_when_children_present ... ok
[INFO] [stdout] test prompt::tests::render_contains_skill_and_completion ... ok
[INFO] [stdout] test prompt::tests::render_contains_title_and_id ... ok
[INFO] [stdout] test prompt::tests::render_empty_body_falls_back_to_description ... ok
[INFO] [stdout] test prompt::tests::render_falls_back_to_description ... ok
[INFO] [stdout] test prompt::tests::render_handoff_capsules_appear_in_notes ... ok
[INFO] [stdout] test prompt::tests::render_includes_acceptance_section ... ok
[INFO] [stdout] test prompt::tests::render_includes_invariants ... ok
[INFO] [stdout] test prompt::tests::render_includes_notes ... ok
[INFO] [stdout] test prompt::tests::render_no_body_or_description_omits_section ... ok
[INFO] [stdout] test prompt::tests::render_no_priority_shows_none ... ok
[INFO] [stdout] test prompt::tests::render_non_verbose_shows_latest_handoff ... ok
[INFO] [stdout] test prompt::tests::render_non_verbose_shows_only_latest_note ... ok
[INFO] [stdout] test prompt::tests::render_omits_children_section_when_empty ... ok
[INFO] [stdout] test prompt::tests::render_omits_invariants_section_when_empty ... ok
[INFO] [stdout] test prompt::tests::render_uses_body_over_description ... ok
[INFO] [stdout] test prompt::tests::render_verbose_shows_all_notes ... ok
[INFO] [stdout] test prompt::tests::workflow_boundary_allows_child_claims_for_parents ... ok
[INFO] [stdout] test prompt::tests::workflow_boundary_restricts_claims_without_children ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::lease_excluded_from_queue_candidates ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_without_lease_creates_one ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::claim_with_non_lease_knot_as_lease_rejects ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::completion_command_includes_lease ... ok
[INFO] [stdout] test remote_init::tests::detects_beads_config ... ok
[INFO] [stdout] test poll_claim::tests_lease_ext::run_poll_with_claim_creates_lease ... ok
[INFO] [stdout] test remote_init::tests::detects_beads_hook_in_hook_file ... ok
[INFO] [stdout] test remote_init::tests_ext::helper_paths_cover_io_conversion_and_non_git_detection ... ok
[INFO] [stdout] test profile_commands::tests::profile_set_formats_alias_when_available ... ok
[INFO] [stdout] test remote_init::tests_ext::init_remote_branch_reports_unreachable_remote_as_git_command_failure ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_init_error_display_and_source_cover_variants ... ok
[INFO] [stdout] test init::tests::init_all_pulls_knots_when_remote_branch_already_exists ... ok
[INFO] [stdout] test profile_commands::tests::profile_set_requires_state_in_non_interactive_mode ... ok
[INFO] [stdout] test remote_init::tests_ext::detect_beads_hooks_respects_absolute_core_hooks_path ... ok
[INFO] [stdout] test remote_init::tests_ext::uninit_reports_not_repo_or_missing_remote_and_hooks_path_is_respected ... ok
[INFO] [stdout] test remote_init::tests::creates_remote_branch_when_missing ... ok
[INFO] [stdout] test profile_commands::tests::run_profile_command_handles_list_show_and_set_default ... ok
[INFO] [stdout] test remote_init::tests_ext::init_remote_branch_retries_push_without_verify_when_beads_hook_fails ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_branch_exists_returns_git_command_failure_for_unreachable_remote ... ok
[INFO] [stdout] test remote_init::tests::fails_if_remote_branch_exists ... ok
[INFO] [stdout] test rollback::tests::gate_owner_kind_uses_gate_metadata ... ok
[INFO] [stdout] test rollback::tests::require_rollback_state_allows_gate_states ... ok
[INFO] [stdout] test rollback::tests::reject_invalid_rollback_state_rejects_gate_queue_states ... ok
[INFO] [stdout] test rollback::tests::rollback_target_rejects_queue_terminal_and_deferred_states ... ok
[INFO] [stdout] test rollback::tests::rollback_target_honors_profiles_with_skipped_states ... ok
[INFO] [stdout] test rollback::tests::rollback_target_rewinds_gate_evaluating_to_ready_to_evaluate ... ok
[INFO] [stdout] test rollback::tests::rollback_target_rewinds_non_review_action_states ... ok
[INFO] [stdout] test rollback::tests::rollback_target_rewinds_review_states_past_review_loop ... ok
[INFO] [stdout] test self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths ... FAILED
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_preserves_workspace_when_requested ... ok
[INFO] [stdout] test self_manage::tests::paint_respects_no_color ... ok
[INFO] [stdout] test self_manage::tests::uninstall_keeps_previous_without_flag ... ok
[INFO] [stdout] test self_manage::tests::uninstall_removes_binary_and_previous_when_requested ... ok
[INFO] [stdout] test self_manage::tests::upgrade_summary_right_aligns_labels_and_left_aligns_values ... ok
[INFO] [stdout] test self_manage::tests::titled_fields_render_plain_text_when_color_is_disabled ... ok
[INFO] [stdout] test skills::tests::implementation_review_rejections_require_enumerated_spec_violations ... ok
[INFO] [stdout] test skills::tests::implementation_review_skill_uses_only_code_and_spec_for_approval ... ok
[INFO] [stdout] test skills::tests::implementation_skill_does_not_include_shipment_work ... ok
[INFO] [stdout] test skills::tests::implementation_skill_instructs_short_commit_tagging ... ok
[INFO] [stdout] test skills::tests::planning_skill_forbids_executing_child_knots ... ok
[INFO] [stdout] test skills::tests::returns_content_for_action_states ... ok
[INFO] [stdout] test skills::tests::returns_none_for_queue_and_terminal_states ... ok
[INFO] [stdout] test skills::tests::review_skills_forbid_code_and_git_writes ... ok
[INFO] [stdout] test skills::tests::all_skills_define_single_step_boundaries ... ok
[INFO] [stdout] test skills::tests::shipment_review_skill_handles_dirty_workspace_failure_mode ... ok
[INFO] [stdout] test skills::tests::shipment_skill_instructs_short_commit_tagging ... ok
[INFO] [stdout] test skills::tests::shipment_review_skill_validates_commit_tagging ... ok
[INFO] [stdout] test snapshots::tests::snapshot_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test snapshots::tests::latest_snapshot_path_skips_directories_and_invalid_filenames ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_validate_failures_without_stderr ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_branch_exists_and_uninit_cover_present_and_missing_paths ... ok
[INFO] [stdout] test snapshots::tests::writes_and_loads_snapshots ... ok
[INFO] [stdout] test state_hierarchy::terminal_tests::terminal_resolution_target_handles_deferred_abandoned_and_invalid_states ... ok
[INFO] [stdout] test state_hierarchy::tests::collect_descendant_depths_skips_cycles_and_keeps_deepest_path ... ok
[INFO] [stdout] test state_hierarchy::tests::deferred_target_without_provenance_uses_deferred_rank ... ok
[INFO] [stdout] test state_hierarchy::tests::effective_state_rank_assigns_unique_ranks_to_gate_states ... ok
[INFO] [stdout] test state_hierarchy::tests::effective_state_rank_covers_remaining_shipment_and_terminal_states ... ok
[INFO] [stdout] test state_hierarchy::tests::format_hierarchy_knots_lists_each_knot_and_display_state ... ok
[INFO] [stdout] test self_manage::tests::update_and_path_helpers_cover_error_paths ... ok
[INFO] [stdout] test state_hierarchy::tests::hierarchy_knot_formats_deferred_state_with_provenance ... ok
[INFO] [stderr] curl: (37) Couldn't open file /tmp/knots-self-manage-1774577167892616635/missing-installer.sh
[INFO] [stdout] test state_hierarchy::tests::no_op_transition_is_allowed ... ok
[INFO] [stdout] test replication::tests::push_blocks_with_active_leases ... ok
[INFO] [stdout] test replication::tests::push_propagates_missing_remote_errors_after_local_reset_fallback ... ok
[INFO] [stdout] test state_hierarchy::tests::record_rank_uses_deferred_from_state ... ok
[INFO] [stdout] test state_hierarchy::tests::gate_parent_transition_blocks_work_child_with_lower_effective_rank ... ok
[INFO] [stdout] test state_hierarchy::terminal_tests::terminal_parent_resolutions_skip_terminal_parents_and_missing_children ... ok
[INFO] [stdout] test state_hierarchy::tests::target_rank_uses_current_progress_when_deferring ... ok
[INFO] [stdout] test replication::tests::push_returns_noop_when_no_local_event_files_exist ... ok
[INFO] [stdout] test state_hierarchy::terminal_tests::ancestor_terminal_resolutions_walk_parents_once_and_sort_results ... ok
[INFO] [stdout] test state_hierarchy::tests::skip_progress_check_still_enforces_terminal_cascade ... ok
[INFO] [stdout] test state_hierarchy::tests::terminal_resolution_state_helper_includes_deferred ... ok
[INFO] [stdout] test state_hierarchy::tests::terminal_state_helper_matches_terminal_states ... ok
[INFO] [stdout] test state_hierarchy::tests::terminal_plan_requires_approval_when_descendants_exist ... ok
[INFO] [stdout] test state_hierarchy::tests::terminal_plan_without_descendants_is_allowed ... ok
[INFO] [stdout] test state_hierarchy::tests::skip_progress_check_allows_parent_claim_despite_behind_children ... ok
[INFO] [stdout] test state_hierarchy::tests::plan_state_transition_blocks_direct_children_that_are_behind ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_uses_stable_serializable_output ... ok
[INFO] [stdout] test state_hierarchy::tests::plan_state_transition_returns_sorted_descendants_for_terminal_cascade ... ok
[INFO] [stdout] test sync::apply::tests_ext::helper_functions_cover_optional_and_error_paths ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_invalid_utf8_from_build_output ... ok
[INFO] [stdout] test sync::apply::tests_ext::parse_metadata_entry_requires_all_string_fields ... ok
[INFO] [stdout] test sync::apply::tests_ext::read_json_file_reports_invalid_payloads ... ok
[INFO] [stdout] test state_hierarchy::tests::terminal_plan_allowed_when_all_descendants_already_in_target_state ... ok
[INFO] [stdout] test loom_compat_harness_tests::compat_harness_reports_validate_command_failures ... ok
[INFO] [stdout] test state_hierarchy::terminal_tests::terminal_parent_resolutions_require_all_direct_children_and_pick_precedence ... ok
[INFO] [stdout] test sync::error_tests::sync_error_classifiers_detect_expected_git_failures ... ok
[INFO] [stdout] test sync::error_tests::sync_error_display_source_and_from_cover_all_variants ... ok
[INFO] [stdout] test sync::apply::tests_ext::precondition_checks_cover_none_match_and_mismatch ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_index_event_ignores_missing_and_non_head_files ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_full_event_covers_priority_type_tag_remove_note_and_handoff_paths ... ok
[INFO] [stdout] test perf::tests::produces_measurements ... ok
[INFO] [stdout] test sync::apply::tests_acceptance_ext::apply_full_event_updates_acceptance_metadata ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_to_head_reports_snapshot_load_errors_during_bootstrap ... ok
[INFO] [stdout] test replication::tests::push_reports_conflict_when_remote_file_content_differs ... ok
[INFO] [stdout] test tiering::tests::recent_non_terminal_is_hot ... ok
[INFO] [stdout] test tiering::tests::old_non_terminal_is_warm ... ok
[INFO] [stdout] test tiering::tests::terminal_state_is_always_cold ... ok
[INFO] [stdout] test ui::tests::filter_summary_formats_only_active_filters ... ok
[INFO] [stdout] test ui::tests::filter_summary_includes_all_flag ... ok
[INFO] [stdout] test ui::tests::filter_summary_is_none_for_empty_filters ... ok
[INFO] [stdout] test ui::tests::format_entry_inline_falls_back_to_username ... ok
[INFO] [stdout] test tiering::tests::unparseable_date_falls_back_to_warm ... ok
[INFO] [stdout] test ui::tests::format_knot_show_includes_hint_when_hidden ... ok
[INFO] [stdout] test ui::tests::format_knot_show_verbose_omits_hint ... ok
[INFO] [stdout] test ui::tests::hidden_metadata_hint_empty_when_single_entries ... ok
[INFO] [stdout] test ui::tests::format_entry_inline_uses_agentname_over_username ... ok
[INFO] [stdout] test ui::tests::hidden_metadata_hint_shows_counts_when_multiple ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_include_edges_grouped_by_kind ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_include_optional_sections ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_no_edges_when_empty ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_index_event_moves_old_non_terminal_knots_to_warm_cache ... ok
[INFO] [stdout] test ui::tests::show_fields_non_verbose_shows_only_latest ... ok
[INFO] [stdout] test ui::tests::show_fields_right_align_labels ... ok
[INFO] [stdout] test ui::tests::show_fields_wrap_values_to_width_and_keep_value_column_alignment ... ok
[INFO] [stdout] test ui::tests::show_fields_verbose_shows_all_entries ... ok
[INFO] [stdout] test ui::tests::trim_json_no_other_when_single_entries ... ok
[INFO] [stdout] test ui::tests::trim_json_metadata_adds_other_field ... ok
[INFO] [stdout] test ui::tests_ext::doctor_fail_renders_red_x ... ok
[INFO] [stdout] test ui::tests_ext::doctor_lines_align_titles_when_label_width_is_provided ... ok
[INFO] [stdout] test ui::tests_ext::doctor_no_color_omits_ansi_codes ... ok
[INFO] [stdout] test ui::tests_ext::doctor_pass_renders_green_checkmark ... ok
[INFO] [stdout] test ui::tests_ext::doctor_warn_renders_yellow_warning ... ok
[INFO] [stdout] test ui::tests_ext::print_doctor_report_covers_all_statuses ... ok
[INFO] [stdout] test ui::tests_ext::progress_lines_use_palette_colors_and_plain_fallback ... ok
[INFO] [stdout] test ui::tests_ext::palette_and_state_color_cover_all_branches ... ok
[INFO] [stdout] test ui::tests_ext::show_and_print_paths_cover_empty_field_and_public_print_functions ... ok
[INFO] [stdout] test ui::tests_ext::wrap_helpers_cover_empty_multiline_and_no_whitespace_paths ... ok
[INFO] [stdout] test ui::tests_ext::row_and_indent_formatting_cover_alias_tag_and_type_paths ... ok
[INFO] [stdout] test workflow::tests_ext::error_display_and_source_paths_cover_variants ... ok
[INFO] [stdout] test workflow::tests_ext::load_rejects_empty_and_duplicate_definitions ... ok
[INFO] [stdout] test workflow::tests::unknown_workflow_error_is_descriptive ... ok
[INFO] [stdout] test workflow::tests::loads_embedded_default_workflow ... ok
[INFO] [stdout] test workflow::tests_ext::registry_resolve_and_require_failures_are_reported ... ok
[INFO] [stdout] test workflow_diagram::tests::render_lists_unreachable_states ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_index_event_with_invariants_persists_them ... ok
[INFO] [stdout] test workflow_diagram::tests::render_marks_expanded_cross_links_and_ignores_missing_children ... ok
[INFO] [stdout] test sync::apply::tests_ext::changed_files_falls_back_to_scan_when_base_revision_is_unknown ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_invariants_set_on_missing_hot_knot_is_noop ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_and_lease_queue_action_helpers_cover_remaining_paths ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_next_happy_path_is_fixed ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_owner_kind_comes_from_gate_data ... ok
[INFO] [stdout] test workflow::tests_ext::profile_definition_reports_unknown_state_and_invalid_transition ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_owner_and_next_state_return_none_for_terminal_states ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_full_event_invariants_set_updates_hot_knot ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_terminal_state_and_transition_rules_are_fixed ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_transition_allows_noop_force_and_abandon ... ok
[INFO] [stdout] test workflow_runtime::tests::lease_next_happy_path_follows_lifecycle ... ok
[INFO] [stdout] test workflow_runtime::tests::initial_state_uses_gate_queue_for_gate_knots ... ok
[INFO] [stdout] test workflow_runtime::tests::lease_initial_state_is_lease_ready ... ok
[INFO] [stdout] test workflow_runtime::tests::lease_owner_kind_is_always_none ... ok
[INFO] [stdout] test workflow_runtime::tests::gate_states_have_explicit_queue_and_action_classification ... ok
[INFO] [stdout] test workflow_runtime::tests::queue_state_for_stage_maps_gate_aliases ... ok
[INFO] [stdout] test workflow_runtime::tests::lease_terminal_state_is_terminated ... ok
[INFO] [stdout] test workflow_runtime::tests::queue_and_action_checks_report_unknown_profiles ... ok
[INFO] [stdout] test workflow_runtime::tests::work_runtime_delegates_to_profile_definition ... ok
[INFO] [stdout] test workflow_runtime::tests::non_work_outcomes_return_none_without_installed_workflow_lookup ... ok
[INFO] [stdout] test workflow_runtime::tests::lease_transition_rules ... ok
[INFO] [stdout] test write_dispatch::tests::execute_with_terminal_cascade_prompt_returns_error_in_noninteractive_mode ... ok
[INFO] [stdout] test write_dispatch::tests::maybe_run_queued_command_returns_none_for_read_only_commands ... ok
[INFO] [stdout] test write_dispatch::tests::normalize_expected_state_and_format_next_output_cover_helpers ... ok
[INFO] [stdout] test write_dispatch::tests::operation_from_command_maps_rollback ... ok
[INFO] [stdout] test workflow_runtime::tests::custom_workflow_failure_outcomes_resolve_from_installed_bundle ... ok
[INFO] [stdout] test write_dispatch::tests::operation_from_command_maps_step_annotate ... ok
[INFO] [stdout] test write_dispatch::tests::operation_from_command_threads_terminal_cascade_flags ... ok
[INFO] [stdout] test write_dispatch::tests::terminal_cascade_input_normalizes_common_yes_values ... ok
[INFO] [stdout] test write_dispatch::tests::terminal_cascade_prompt_accepts_yes_and_renders_descendants ... ok
[INFO] [stdout] test write_dispatch::tests::terminal_cascade_prompt_rejects_non_yes_answers ... ok
[INFO] [stdout] test write_dispatch::tests::execute_queued_request_returns_failure_when_app_open_fails ... ok
[INFO] [stdout] test write_dispatch::tests_gate_ext::gate_parse_helpers_cover_valid_and_invalid_inputs ... ok
[INFO] [stdout] test write_dispatch::tests_gate_ext::operation_from_command_maps_gate_specific_arguments ... ok
[INFO] [stdout] test replication::tests::count_unpushed_event_files_tracks_remote_alignment ... ok
[INFO] [stdout] test sync::tests::worktree_manager_creates_knots_branch_worktree ... ok
[INFO] [stdout] test replication::tests::second_push_is_noop_when_remote_already_matches_local_events ... ok
[INFO] [stdout] test sync::tests::sync_classifies_old_knots_as_warm_and_terminal_as_cold ... ok
[INFO] [stdout] test sync::tests::sync_applies_index_and_edge_events_from_knots_branch ... ok
[INFO] [stdout] test sync::tests::sync_bootstrap_loads_latest_snapshots_when_no_events_exist ... ok
[INFO] [stdout] test sync::tests::sync_ignores_events_with_stale_preconditions ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_next_rejects_mismatched_expected_state ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_step_annotate_covers_text_and_json_paths ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::lease_create_text_output_when_json_false ... ok
[INFO] [stdout] test sync::tests::sync_reduces_description_tag_and_note_events ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::lease_create_json_output ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::explicit_note_flags_override_lease_agent_info ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_lease_create ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_claim_includes_lease_id ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_lease_create_includes_json ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_lease_show_is_none ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_lease_terminate ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_lease_list_is_none ... ok
[INFO] [stdout] test replication::tests::push_then_pull_shares_knots_between_clones ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_new_includes_lease_id ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_next_includes_lease_id ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::operation_from_update_includes_lease_id ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_removes_invalid_request_files ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_returns_zero_when_worker_is_busy ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_processes_all_items_serially ... ok
[INFO] [stdout] test write_queue::tests::enqueue_and_wait_round_trips_response ... ok
[INFO] [stdout] test write_queue::tests::lease_create_operation_serializes_round_trip ... ok
[INFO] [stdout] test write_queue::tests::lease_create_operation_with_no_optional_fields ... ok
[INFO] [stdout] test write_queue::tests::lease_terminate_operation_serializes_round_trip ... ok
[INFO] [stdout] test write_queue::tests::list_request_files_and_read_response_file_handle_missing_paths ... ok
[INFO] [stdout] test write_queue::tests::queue_error_display_and_from_cover_all_variants ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::new_with_lease_flag_binds_lease ... ok
[INFO] [stdout] test write_dispatch::tests_gate_ext::execute_operation_rollback_rewinds_gate_evaluating_state ... ok
[INFO] [stdout] test write_queue::tests::enqueue_and_wait_spins_until_worker_lock_is_released ... ok
[INFO] [stdout] test write_dispatch::tests_gate_ext::execute_operation_gate_evaluate_covers_text_and_json_output ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_poll_claim_covers_empty_and_json_paths ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::execute_lease_create_and_terminate ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_rollback_covers_dry_run_real_and_rejection_paths ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::next_with_lease_on_unleasedknot_fails ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::note_auto_fills_from_lease_agent_info ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::next_with_wrong_lease_fails ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::note_defaults_preserved_without_lease ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::update_with_lease_flag_binds_lease ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::next_with_matching_lease_succeeds ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::next_without_lease_still_works ... ok
[INFO] [stdout] test write_dispatch::tests_lease_ext::next_terminates_lease ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- app::tests_error_paths::open_succeeds_when_knots_dir_exists stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'app::tests_error_paths::open_succeeds_when_knots_dir_exists' (106) panicked at src/app/tests_error_paths.rs:470:5:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x578935eec9fa - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x578935eec9fa - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x578935f0555a - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x578935f0555a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x578935ef26b2 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x578935ef26b2 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x578935ec6d9f - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x578935ec6d9f - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x578935ee24f9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x578935b9db4c - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x578935b9db4c - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x578935ee26b2 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x578935ee26b2 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x578935ec6e8a - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x578935ebe329 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x578935ec7fbd - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x578935f05d1c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x578935f05ce2 - core[a96a4c5c53f902a3]::panicking::panic
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5789358d9f3b - knots[1bedcafc646de084]::app::tests_error_paths::open_succeeds_when_knots_dir_exists
[INFO] [stdout]                                at /opt/rustwide/workdir/src/app/tests_error_paths.rs:470:5
[INFO] [stdout]   21:     0x5789358b5a17 - knots[1bedcafc646de084]::app::tests_error_paths::open_succeeds_when_knots_dir_exists::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/app/tests_error_paths.rs:465:41
[INFO] [stdout]   22:     0x5789359b7c86 - <knots[1bedcafc646de084]::app::tests_error_paths::open_succeeds_when_knots_dir_exists::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x578935b91c2b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x578935b91c2b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x578935b9e61b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x578935b9e61b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x578935b99d34 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x578935b99d34 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x578935ba1222 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x578935ba1222 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x578935ba1222 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x578935eeba3f - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x578935eeba3f - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x720c5032eaa4 - <unknown>
[INFO] [stdout]   44:     0x720c503bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- completions::tests::run_completions_command_print_and_error_modes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'completions::tests::run_completions_command_print_and_error_modes' (296) panicked at src/completions.rs:305:9:
[INFO] [stdout] assertion failed: result2.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x578935eec9fa - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x578935eec9fa - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x578935f0555a - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x578935f0555a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x578935ef26b2 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x578935ef26b2 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x578935ec6d9f - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x578935ec6d9f - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x578935ee24f9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x578935b9db4c - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x578935b9db4c - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x578935ee26b2 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x578935ee26b2 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x578935ec6e8a - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x578935ebe329 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x578935ec7fbd - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x578935f05d1c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x578935f05ce2 - core[a96a4c5c53f902a3]::panicking::panic
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x578935a58c1b - knots[1bedcafc646de084]::completions::tests::run_completions_command_print_and_error_modes
[INFO] [stdout]                                at /opt/rustwide/workdir/src/completions.rs:305:9
[INFO] [stdout]   21:     0x578935a1fc67 - knots[1bedcafc646de084]::completions::tests::run_completions_command_print_and_error_modes::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/completions.rs:301:55
[INFO] [stdout]   22:     0x5789359b3e46 - <knots[1bedcafc646de084]::completions::tests::run_completions_command_print_and_error_modes::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x578935b91c2b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x578935b91c2b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x578935b9e61b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x578935b9e61b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x578935b99d34 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x578935b99d34 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x578935ba1222 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x578935ba1222 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x578935ba1222 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x578935eeba3f - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x578935eeba3f - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x720c5032eaa4 - <unknown>
[INFO] [stdout]   44:     0x720c503bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths' (2005) panicked at src/self_manage.rs:404:18:
[INFO] [stdout] permission denied path should fail: false
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x578935eec9fa - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x578935eec9fa - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x578935eec9fa - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x578935f0555a - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x578935f0555a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x578935ef26b2 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x578935ef26b2 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x578935ec6d9f - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x578935ec6d9f - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x578935ee24f9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x578935b9db4c - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x578935b9db4c - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x578935ee26b2 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x578935ee26b2 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x578935ec6e58 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x578935ebe329 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x578935ec7fbd - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x578935f05d1c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x578935f05a92 - core[a96a4c5c53f902a3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x57893564b144 - <core[a96a4c5c53f902a3]::result::Result<bool, std[ec4e911328de40a6]::io::error::Error>>::expect_err
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1298:22
[INFO] [stdout]   21:     0x5789358d8fa1 - knots[1bedcafc646de084]::self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths
[INFO] [stdout]                                at /opt/rustwide/workdir/src/self_manage.rs:404:18
[INFO] [stdout]   22:     0x5789358b59a7 - knots[1bedcafc646de084]::self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/self_manage.rs:375:80
[INFO] [stdout]   23:     0x5789359b4686 - <knots[1bedcafc646de084]::self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x578935b91c2b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x578935b91c2b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x578935b9e61b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x578935b9e61b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x578935b9e61b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x578935b9e61b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x578935b99d34 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x578935b99d34 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x578935ba1222 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x578935ba1222 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x578935ba1222 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x578935ba1222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x578935ba1222 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x578935eeba3f - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x578935eeba3f - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x720c5032eaa4 - <unknown>
[INFO] [stdout]   45:     0x720c503bba64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     app::tests_error_paths::open_succeeds_when_knots_dir_exists
[INFO] [stdout]     completions::tests::run_completions_command_print_and_error_modes
[INFO] [stdout]     self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 706 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.39s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin knots`
[INFO] running `Command { std: "docker" "inspect" "73550b524ffd26279e0d843b161d850df7ac211cb536e0bdbd5a189e5f25f5fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73550b524ffd26279e0d843b161d850df7ac211cb536e0bdbd5a189e5f25f5fc", kill_on_drop: false }`
[INFO] [stdout] 73550b524ffd26279e0d843b161d850df7ac211cb536e0bdbd5a189e5f25f5fc
